"""
1、从键盘输入n，然后输出n行的杨辉三角形。
要求：
1)  n的大小不限制
2)  必须用列表推导式创建二维数组
3)  用循环产生数组中的数据
"""
n = int(input("请输入你想打印的杨辉三角行数："))
matrix = [[0 for i in range(n)] for i in range(n)]
matrix[0][0] = 1
'''
for i in range(1, n):
    matrix[i][0] = 1
    matrix[i] = [matrix[i-1][j]+matrix[i-1][j-1] for j in range(i+2)]
'''
matrix[0][0] = 1
for i in range(1, n):
    for j in range(0, i+1):  # 0 本身也是一个元素位置  边界注意！
        if j == 0 or j == i:
            matrix[i][j] = 1
        else:
            matrix[i][j] = matrix[i-1][j] + matrix[i-1][j-1]

# for i in range
# 输出
for i in range(n):
    for j in range(n):
        if(matrix[i][j]):
            print(matrix[i][j], end=" ")
    print("\n")
